


#include<DoubleLinkList.hpp>

template <typename T>
class LinkStack
{
private:
    
    DoubleLinkList<T> list;

public:

    // 入栈
    void Push( const T & data)
    {
        list.InsertTail(data);
    }
    
    void Pop()
    {
        if(list.Size() == 0)
            return;
        list.RemoveByIndex(list.Size() - 1);
    }

    T* GetTop()
    {
        if(list.Size() == 0)
            return nullptr;
       else
        return list.Back();
    }

    bool IsEmpty()
    {
        return list.Size() == 0;
    }
 
};


